ソフトウェアアーキテクチャの基礎輪読会 21章
日付:12/1
調査者:ichimura.icon
参考資料
イントロ
多岐にわたる仕事を持つアーキテクトは、コミュニケーションがあって成り立つようになる
アーキテクトはコミュニケーションのためにアーキテクチャの図解とプレゼンテーションが重要スキルとなる
アーキテクチャを視覚的に表現する際は、表現の一貫性を持たせて読み手が混乱が起こらないように注意する
図解
ツール
アーキテクチャを表現するアナログなツールと現代のクールなツールについて
アナログなツール
現代のツールは便利であるが学習コストがかかるため、素早く完成させられるアナログな手法も大事にしよう
ichimura.iconアナログなアーティファクトって付箋とかホワイトボードとかかな?
必要十分なアーティファクトを作るのにアナログなツールが好まれる
現代の図解ツール
もちろん利点が強いので、設計が十分整ったらこちらで作成
最低限求めたい機能
レイヤー
ステンシル/テンプレート
マグネット
コンポーネントなど、関係を表す線のこと
ichimura.icon皆さんが使っている図解ツール知りたいです!
標準ダイアグラム
ソフトウェアの図解はすでに以下の項目などで標準が存在する
UML
主にクラス図やシーケンス図
それ以外はほぼ使われていない
コンテナとコンポーネントの関係が異なる可能性があるモノリシックアーキテクチャに適する
UMLの欠陥を解決したツール。マイクロサービスなどの分散アーキテクチャに適してない
コンテキスト
コンテナ
コンポーネント
クラス
ビジネスドメイン内および、ビジネスドメイン間でのアーキテクチャ記述、分析、可視化をサポート
軽量
図解ガイドライン
タイトルをつけよう
線はよく見えるくらいの太さで、矢印で方向性か双方向性を示そう
図形は基本長方形で箱やコンテナを示す
読み手が読みづらい時は図の各項目にラベルをつける
色は基本白黒、異なる要素を示す時などで色を使い分ける
形状が曖昧なものは何を示しているのか凡例を図に記載する
プレゼンテーション
時間を操る
トランジションとアニメーション
段階的な構築
スライドをテキストで埋め尽くさない
段階的に表示していく
インフォデッキとプレゼンテーション
発表を目的としていない、資料としてのスライド
時間的な要素は不要
伝えたい内容を全て含める
スライドは物語の半分
発表するなら、プレゼンの内容を全てスライドに入れない
不可視化
からのスライドを映すことで話に集中させる
code:sample.kt
質疑応答